const deleteNode = (head,val)=>{
    //删除头节点
    while(head!==null && head.val === val){
        //头指针向后移动。
        head = head.val
    }

    //浅拷贝一层，不修改头指针
    let cur = head
    while(cur!==null && cur.next !==null){
        if(cur.next.val === val){
            cur.next = cur.next.next
        }else{
            //遍历链表
            cur = cur.next
        }
    }
    return head
}
//用这种移动指针的方式就可以删除链表中的节点。
//cur的作用，cur是一个临时变量，由于浅拷贝的原因，与head可以同时操作同一个链表。不能直接操作head，会出现丢失节点的问题。
//它不会影响head的指向。

//用虚拟头节点的方式就不用考虑两种情况
